package com.idrl.utils;
  
public class RegexUtils {   
  
    /**  
     * 检查email输入是否正确  
     * 正确的书写格式为 123@gmail.com
     * @param value  
     * @return  
     */  
    public static boolean isEmail(String value) {   
            return value.matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");   
    }   
  
    /**  
     * 检查电话输入是否正确  
     * 正确格式 012-87654321、0123-87654321、0123－7654321  
     * @param value  
     * @return  
     */  
    public static boolean isTel(String value) {   
        return value.matches("\\d{4}-\\d{8}|\\d{4}-\\d{7}|\\d(3)-\\d(8)");     
    }   
  
    /**  
     * 检查手机输入是否正确  
     *   
     * @param value  
     * @return  
     */  
    public static boolean isMobile(String value) {   
        return value.matches("^[1][3,5]+\\d{9}");   
    }   
  
    /**  
     * 检查中文名输入是否正确  
     *   
     * @param value  
     * @return  
     */  
    public static boolean isChinese(String value) {   
        return value.matches("^[\u4e00-\u9fa5]+$");   
    }   
    
    /**  
     * 检查HTML中首尾空行或空格  
     * @param value  
     * @return  
     */  
    public static boolean isBlank(String value){   
        return value.matches("^\\s*|\\s*$");   
    }   
    
    /**  
     * 检查字符串是否含有HTML标签  
     * @param value  
     * @return  
     */  
       
    public static boolean isHtmlTag(String value){   
        return value.matches("<(\\S*?)[^>]*>.*?</\\1>|<.*? />");   
    }   
    
    /**  
     * 检查URL是否合法  
     * @param value  
     * @return  
     */  
    public static boolean isURL(String value){   
        return value.matches("[a-zA-z]+://[^\\s]*");   
    }   
    
    /**  
     * 检查IP是否合法  
     * @param value  
     * @return  
     */  
    public static boolean isIP(String value){   
        return value.matches("\\d{1,3}+\\.\\d{1,3}+\\.\\d{1,3}+\\.\\d{1,3}");   
    }   
    
    /**  
     * 检查ID是否合法，开头必须是大小写字母，其他位可以有大小写字符、数字、下划线  
     * @param value  
     * @return  
     */  
    public static boolean isID(String value){   
        return value.matches("[a-zA-Z][a-zA-Z0-9_]{4,15}$");   
    }   
    
    /**  
     * 检查QQ是否合法，必须是数字，且首位不能为0，最长15位  
     * @param value  
     * @return  
     */  
       
    public static boolean isQQ(String value){   
        return value.matches("[1-9][0-9]{4,13}");   
    }   
    
    /**  
     * 检查邮编是否合法  
     * @param value  
     * @return  
     */  
    public static boolean isPostCode(String value){   
        return value.matches("[1-9]\\d{5}(?!\\d)");   
    }   
    
    /**  
     * 检查身份证是否合法,15位或18位  
     * @param value  
     * @return  
     */  
    public static boolean isIDCard(String value){   
        return value.matches("\\d{15}|\\d{18}");   
    }   
    
    /**  
     * 检查输入是否超出规定长度  
     *   
     * @param length  
     * @param value  
     * @return  
     */  
    public static boolean isLength(String value, int length) {   
        return ((value == null || "".equals(value.trim())) ? 0 : value.length()) <= length;   
    }   
  
}  

